package com.qingfeng.medical.biz.information.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qingfeng.medical.biz.information.domain.dto.DictSaveDTO;
import com.qingfeng.medical.biz.information.domain.dto.DictUpdateDTO;
import com.qingfeng.medical.biz.information.domain.entity.Dict;
import com.qingfeng.medical.biz.information.domain.vo.DictVo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 数据字典表
 *
 * @author 清风学Java
 * @date 2023-04-08 23:43:31
 */
public interface DictService extends IService<Dict> {

    /**
     * 查询数据字典
     * @return
     */
    List<DictVo> findListTree();

    /**
     * 保存数据字典信息
     * @param dictSaveDTO
     */
    void saveDict(DictSaveDTO dictSaveDTO);

    /**
     * 修改数据字典信息
     * @param dictUpdateDTO
     */
    void updateDictById(DictUpdateDTO dictUpdateDTO);

    /**
     * 导出数据字典模板
     * @param response
     */
    void exportTemplate(HttpServletResponse response);

    /**
     * 导出数据字典
     * @param response
     */
    void exportDict(HttpServletResponse response);

    /**
     * 导入数据字典
     * @param file
     */
    void importDict(MultipartFile file);

    /**
     * 根据数据Id查询子数据列表
     * @param id
     * @return
     */
    List<Dict> findChildData(Long id);
}

